/**
 * EasyUI工具类
 **/
var ZBXTools = {};
/**
 *显示进度条 
 *@param msg 进度条需要提示的信息
 **/
ZBXTools.showProcess=function(msg){
	$.messager.progress({"msg":msg,text:''});
}

/**
 *关闭进度条
 **/
ZBXTools.hideProcess = function(){
	$.messager.progress('close');
}

/**
 *启用linkbutton按钮 
 * @param selector jquery选择器
 **/
ZBXTools.enableButton=function(selector){
	$(selector).linkbutton('enable');
}

/**
 *禁用linkbutton按钮 
 * @param selector jquery选择器
 **/
ZBXTools.disableButton=function(selector){
	$(selector).linkbutton('disable');
}
 /**
  * 设置单选按钮选中的值
  * @param elemid 对象id
  * @param selVl 值
  */
ZBXTools.initRadio=function(elemname,selVl){
	var myobj=document.getElementsByName(elemname);
	if(myobj==null)return;
	for ( var i = 0; i < myobj.length; i++) {
		if (myobj[i].value == selVl) {
			myobj[i].checked = "true";
		}
	}
 }
 /**
  * 设置下拉框选中的值
  * @param elemid 对象id
  * @param selVl 值
  */
 ZBXTools.initSelect=function(elemid,selVl){
	var myobj=document.getElementById(elemid);
	if(myobj==null)return;
	for ( var i = 0; i < myobj.options.length; i++) {
		if (myobj.options[i].value == selVl) {
			myobj.selectedIndex = i;
		}
	}
 }
/**
 * 获取下拉框选中的text
 * @param id 对象id
 * @return 选中的text
 */
 ZBXTools.getSelectTextById=function(id){
 	if(ZBXTools.getSelectValueById(id)!=''){
 		return $("#"+id).find("option:selected").text();
 	}
	return '';
 }
 /**
 * 获取下拉框选中的value
 * @param id 对象id
 * @return 选中的value
 */
 ZBXTools.getSelectValueById=function(id){
	return $("#"+id).find("option:selected").val();
 }
 /**
  * //消息提示
  * @param 头部面板上显示的标题文字。
  * @param 显示的消息文字。
  * @param 定义消息窗口的高度。
  * @param 定义消息窗口的宽度。
  * @param  如果定义为 0，除非用户关闭，消息窗口将不会关闭。如果定义为非 0 值，消息窗口将在超时后自动关闭。
  * @param 定义消息窗口如何显示。可用的值是： null、slide、fade、show。
  */
ZBXTools.showMsg=function(titleStr,msgStr,heightStr,widthStr,timeoutStr,showtypeStr){
	/**
	 * showType： 定义消息窗口如何显示。可用的值是： null、slide、fade、show。默认是 slide。
	 * showSpeed： 定义消息窗口完成显示所需的以毫秒为单位的时间。默认是 600。
	 * width： 定义消息窗口的宽度。默认是250。
	 * height： 定义消息窗口的高度。默认是100。
	 * msg： 显示的消息文字。
	 * title： 头部面板上显示的标题文字。
	 * timeout： 如果定义为 0，除非用户关闭，消息窗口将不会关闭。如果定义为非 0 值，消息窗口将在超时后自动关闭。
	 */
	$.messager.show({
		title:titleStr,
		showSpeed:1500,
		msg:msgStr,
		width:widthStr,
		height:heightStr,
		timeout:timeoutStr,
		showType:showtypeStr
	});
}

//ajaxtools

function searchUcUser(listName){

}
function searchUcOrg(listName){
	
}
function searchUcDept(listName){
	
}
function searchUcRole(listName){
	
}
function searchSubmit(objName,listName){
	var this_url = ctx+spaceDomain+objName+"/rf";
	var formName = listName+"_form";
	var tableName = listName+"_table";
	var pageName = listName+"_page";
	var currentPage = $('#'+formName).find("input[name='page']").val();
	deleteAllRow(tableName);
	//alert(this_url);
	$.ajax({
		   type:'get',
		   url:this_url,
		   data:$("#"+formName).serialize(),
		   dataType:'json',
		   success: function(myData){
			   //alert(myData.total);
		   	   var htmlData = baidu.template(listName+'_html',eval(myData));  
		   	   if(eval(myData).total>0){
				   $("#"+tableName).append(htmlData);
				   if("#"+pageName){
					   pageWrite(myData.total,currentPage,objName,listName);
				   }
		   	   }
			   
		  }
	});	
}


function addSubmit(objName,addForm){
	var this_url = ctx+spaceDomain+objName+"/rf";
	$.ajax({
		   type:'post',
		   url:this_url,
		   data:$("#"+addForm).serialize(),
		   dataType:'json',
		   success: function(myData){
			   addCallBack(myData.flag,myData.msg,objName);
		   }
	});		
}

function editSubmit(objName,objId,editForm){
	var this_url = ctx+spaceDomain+objName+"/rf/"+objId;
	$.ajax({
		   type:'put',
		   url:this_url,
		   data:$("#"+editForm).serialize(),
		   dataType:'json',
		   success: function(myData){
			   editCallBack(myData.flag,objName);
		  }
	});		
}

function delSubmit(objName,objId){
	var this_url = ctx+spaceDomain+objName+"/rf/"+objId;
	$.ajax({
		   type:'delete',
		   url:this_url,
		   dataType:'json',
		   success: function(myData){
			   delCallBack(myData.flag,objName);
		  }
	});		
}

function getObj(objName,objId){
	var this_url = ctx+spaceDomain+objName+"/rf/"+objId;
	//clear('XXX');
	//alert(this_url);
	$.ajax({
		   type:'get',
		   url:this_url,
		   dataType:'json',
		   success: function(myData){
			   //alert(myData.total);
			   getCallBack(myData.entity);
		  }
	});	
}
function loadData(obj,formName){
	var key,value,tagName,type,arr;
    for(x in obj){
    	//alert(x);
        key = x;
        value = obj[x];
        $("#"+formName).find("[name='"+key+"'],[name='"+key+"[]']").each(function(){
            tagName = $(this)[0].tagName;
            type = $(this).attr('type');
            if(tagName=='INPUT'){
                if(type=='radio'){
                    $(this).attr('checked',$(this).val()==value);
                }else if(type=='checkbox'){
                    arr = value.split(',');
                    for(var i =0;i<arr.length;i++){
                        if($(this).val()==arr[i]){
                            $(this).attr('checked',true);
                            break;
                        }
                    }
                }else{
                    $(this).val(value);
                }
            }else if(tagName=='SELECT' || tagName=='TEXTAREA'){
                $(this).val(value);
            }
             
        });
    }	
}

function pageWrite(total,cPage,objName,listName){
	if("uctService" == objName){
		var pageSize = $('#'+listName+"_form").find("input[name='pageSize']").val();//$('#rows').val();
	}else{
		var pageSize = $('#'+listName+"_form").find("input[name='rows']").val();//$('#rows').val();
	}
	//alert(pageSize+"-"+total);
	//总页数
	var m = total % pageSize;
	var pageCount = m == 0 ? total / pageSize : (total - m) / pageSize + 1;
	//alert(pageNum);
	
	var ptxt="共"+pageCount+"页,每页"+pageSize+"行,共"+total+"行,当前是第"+cPage+"页";
	for ( var int = 1; int <= pageCount; int++) {
		ptxt =ptxt + "<a onclick='toPage("+int+",\""+objName+"\",\""+listName+"\")'>["+int+"]</a> ";
	}
	
	$("#"+listName+"_page").html(ptxt);
}

function toPage(pn,objName,listName){
	if("uctService" == objName){
		$('#'+listName+"_form").find("input[name='pageIndex']").val(pn);
		searchUcUser(listName);
		$('#'+listName+"_form").find("input[name='pageIndex']").val(1);
	}else{
		$('#'+listName+"_form").find("input[name='page']").val(pn);
		searchSubmit(objName,listName);
		$('#'+listName+"_form").find("input[name='page']").val(1);
	}
	
}